The S5 direct initial condition case is given by these set of parameters, which will also be the same for the retrograde case. The $X$ and $Y$ are the Cartesian coordinates, in kiloparsecs, of the disrupting galaxy $S$ at the apex of the parabola while $U$ and $V$ are the velocity components. With $X = 1$, the $X$ position of $S$ should be around $25 \: kpc$. The eccentricity of the condition is $1$, which indicates the path will be parabolic.
Type | Position $X$ | Position $Y$ | Velocity $U$ | Velocity $V$ | Eccentricity $\epsilon_s$ | Mass ratio $S/M$ |
---|---|---|---|---|---|---|
S5 | 1 | 0 | 0 | > 0 | 1 | 1 |
To calculate and solve the equations for this case wasn't too hard. I only needed to modify the original parabolic function to satisfy the conditions set out.
In [4]:
direct_r1, direct_r2, retro_r1, retro_r2, R1, R2, vR1, vR2 = S5_ode_solutions(t,tsteps,M,S,gamma)
In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import timeit
from scipy.integrate import odeint
from IPython.html.widgets import interact, fixed
from moviepy.video.io.bindings import mplfig_to_npimage
import moviepy.editor as mpy
In [2]:
gamma = 4.4983169634398597e4
tsteps = 1000
t = np.linspace(0,1.5,tsteps)
M = 10
S = 10
whichplot='direct'
In [3]:
from derivsfunc import *
from initialconditions import *
from S5_icsandsolutions import *
from S5static import *
from S5directmoviemaker import *;
To confirm that my solution of the conditions indicated in the above table are correct, or close to correct, here are my results. As we can see, the positions and velocities are either spot on or relatively close to the requested value.
In [10]:
print("X position: %f kpc" % (R1[192]))
print("Y position: %f kpc" % (R2[192]))
print("U velocity: %f kpc/yr" % (vR1[192]))
print("V velocity: %f kpc/yr" % (vR2[192]))
In this case, the effect of galaxy $S$ on the system is similar to that of the original base case, with the only change being the direction of motion of $S$.
In [4]:
S5_plot_static(t,whichplot,tsteps,M,S,gamma)
In [5]:
S5direct_animation.ipython_display(fps=60)
Out[5]: